package com.asm.shiroweb.controller;

import org.apache.shiro.authz.annotation.RequiresGuest;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/mobile")
public class MobileController {
    /*
    ---------------------------------------------------------------------
    /                                                                   /
    /             最终建议  【注解 限制访问权限】 解决                       /
    /             注意：【注解实现的话：没有权限抛出异常】                    /
    =====================================================================
@RequiresAuthentication
    需要用户登录访问
@RequiresGuest
    需要游客访问，【登录不能访问】
@RequiresPermissions
    指定权限资源 才能访问
@RequiresRoles
    指定角色 才能访问
@RequiresUser  ??? 视频说 必须登录 + 记住我 表示怀疑
    验证用户是否被记忆，user有两种含义：
    一种是成功登录的（subject.isAuthenticated() 结果为true）；
    另外一种是被记忆的（subject.isRemembered()结果为true）。
     */


    @RequiresPermissions("mobile")
    @RequestMapping("/query")
    public String query(){
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
/*      使用 ---filterMap.put("/mobile/**", "authc,perms[mobile]"); // perms 资源权限 才可以访问--- 替代

        Subject currentUser = SecurityUtils.getSubject();

        if (currentUser.isPermitted("mobile")) {

            return "mobie";
        }else{
            return "errMobile";
        }
*/

// ========================================

        return "mobie";

// <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

    }

}
